package br.gov.dataprev.treinamento.ejb.dao.impl;

import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;

import br.gov.dataprev.treinamento.ejb.dao.BaseLojaDao;
import br.gov.dataprev.treinamento.ejb.dao.ClienteDaoLocal;
import br.gov.dataprev.treinamento.ejb.modelo.Cliente;

@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
@TransactionAttribute(TransactionAttributeType.MANDATORY)
public class ClienteDaoImpl extends BaseLojaDao implements ClienteDaoLocal {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public Cliente incluir(Cliente cliente) {
		em.persist(cliente);
		return cliente;
	}

	public Cliente excluir(Cliente cliente) {
		Cliente find = em.find(Cliente.class, cliente.getId());
		em.remove(find);
		return find;
	}
	
	public Cliente alterar(Cliente cliente) {
		em.persist(cliente);	
		return cliente;
	}
	
	@TransactionAttribute(TransactionAttributeType.SUPPORTS)
	public Cliente obterCliente(Long id){
		return (Cliente) em.find(Cliente.class, id);
	}
	
	
}
